In a wide variety of logistics and manufacturing applications, the dispatching of shipping and/or production of lots is critical for smooth and reliable operation of the logistics or manufacturing systems. In manufacturing environments, shop floor software scheduling systems are used to decide the sequence of a set of queued lots to dispatch to a given tool in a manufacturing line. For simple manufacturing systems a first-in-first-out (FIFO) rule is often a reasonable choice. However, in certain specialized fields, such as, but not limited, to semiconductor manufacturing, there are various tool-specific or other scheduling attributes which make the FIFO rule a poor or infeasible choice.
Many manufacturing industries, including the semiconductor manufacturing industry, rely on a variety of tool sets to produce their products. Many tools, such as, but not limited to photolithography tools, process production lots one at a time. However, some operations, such as furnace operations, are batch operations that can process multiple production lots at a time. Illustratively, a conventional furnace may process up to six production lots at a time, but it is not a strict requirement that six lots be processed in each batch. Thus, manufacturers often have an opportunity to create smaller batches that can be released earlier, rather than waiting for a full batch of the lots to arrive. The decision whether to release the lot early and process a smaller batch or to wait for additional lots to arrive is a problem that balances the competing interests of increased flow of lots as compared with, decreased batch costs, and one that requires a practical solution.
Releasing smaller batches, rather than waiting for a complete batch, can improve tool efficiency and processing time for lots. However, these improvements in efficiency come at the expense of increased batch costs, which may remain fixed whether one lot is processed or whether six lots are processed together. For instance, consider the following simple example. A furnace tool currently has a single lot in queue and no lots are projected to arrive for six hours. If the batch processing time is less than six hours, and there are no substantial variable costs per batch, then it is sensible to release a batch with a single lot to reduce its flow time, rather than have the lot wait in front of the idle furnace for six hours to construct a full batch.
Similarly many shipping companies rely on a limited number of delivery routes and/or delivery mechanisms (e.g. trucks and airplanes). These delivery routes and delivery mechanisms are batch operations that can process multiple lots or packages at a time. Thus, shippers often have an opportunity to create smaller batches that can be delivered earlier, rather than waiting for a full batch of the lots to arrive. The decision whether to deliver the lot early and ship a smaller batch or to wait for additional lots to arrive is a problem that balances the competing interests of increased flow of lots as compared with, decreased batch costs, and one that requires a practical solution.
There has been substantial study of scheduling in manufacturing operations in the operations research and industrial engineering literature (e.g., Baker—Elements of Sequencing and Scheduling 1994 describes several of the classical problems referenced in the scheduling literature). Batch scheduling has also been explored (e.g., Fowler—“Control of Multi-Product Bulk Service Diffusion/Oxidation Processes,” IIE Transactions, 1992 contains several references). In one conventional system referenced in the journal “Operations Research” (Dobson and Nambimadom, 2001, “The Batch Loading and Scheduling Problem”), only a single criteria (average flow time) is considered for evaluating schedules. This approach however, does not consider the added variable of per batch costs. The referenced article also makes several liberal assumptions (e.g., all lots available at time zero) that do not take into account situations where lots are arriving at different discrete time intervals. Thus, a need exists for a system and method that optimizes batch scheduling while considering multiple variables, such as but not limited to, lot flow time and per batch costs.